import type { Ref, ComputedRef } from 'vue'
import type { LayoutType } from '@/layout/types/layout'

export interface GlobalConfig {
  theme: string
  primaryColor: string
  isBlur: boolean
  isWeakMode: boolean
  isGreyMode: boolean
  isDarkAside: boolean
  layout: LayoutType
  [key: string]: any
}

export interface ConfigStore {
  globalConfig: Ref<GlobalConfig>
  isMobile: Ref<boolean>
  isDark: ComputedRef<boolean>
  DefaultConfig: GlobalConfig

  setConfig: (key: string, value: any, event?: Event) => void
  resetConfig: (event?: Event) => void
  setIsMobile: (val: boolean) => void
  addBlurClass: (isBlur: boolean) => void
  changeLayoutHorizontalStyle: (value: string) => void
}
